/*
 * Copyright 2010-2012 Susanta Tewari. <freecode4susant@users.sourceforge.net>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package sampledata.barratt;

import commons.nb.data.DNDataList;
import org.openide.modules.InstalledFileLocator;

import java.io.File;

/**
 * Bundles a number of sample money budget files. It uses {@link InstalledFileLocator} to locate the
 * sample budget files.
 *
 * @since 1.0.0
 * @version 1.0.0
 * @author Susanta Tewari
 * @history Created on May 22, 2012.
 */
public class BarrattModelDataDNDataList extends DNDataList {

    /** Field description */
    private static final String DIR = "genomemap/data/barratt";

    /** Field description */
    private final String MODULE = "barratt";

    /**
     * Constructs ...
     *
     */
    public BarrattModelDataDNDataList() {

        super("Barratt Model Data");

        final File dir = InstalledFileLocator.getDefault().locate(DIR, MODULE, false);

        for (final File file : dir.listFiles()) {

            final String fileName = file.getName();

            if (fileName.endsWith(".xml")) {
                addFile(fileName);
            }
        }
    }

    /**
     * Method description
     *
     *
     * @param fileName
     */
    private void addFile(final String fileName) {

        final File file = InstalledFileLocator.getDefault().locate(DIR + "/" + fileName, MODULE,
                              false);

        /* Field description */
        final String SHORT_DESCRIPTION = "Barratt Model data file";

        addData(new BarrattModelDataDNDataFileBased(fileName, SHORT_DESCRIPTION,
                file.getAbsolutePath()));
    }
}
